diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index 06d1000993b..f98b2dfe3af 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -132,7 +132,9 @@ QXcbConnection::QXcbConnection(QXcbNativeInterface *nativeInterface, bool canGra
     if (!m_startupId.isNull())
         qunsetenv("DESKTOP_STARTUP_ID");
 
+    const int focusInDelay = 100;
     m_focusInTimer.setSingleShot(true);
+    m_focusInTimer.setInterval(focusInDelay);
     m_focusInTimer.callOnTimeout([]() {
         // No FocusIn events for us, proceed with FocusOut normally.
         QWindowSystemInterface::handleWindowActivated(nullptr, Qt::ActiveWindowFocusReason);
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 9382488b741..610eca06a55 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -848,7 +848,7 @@ void QXcbWindow::doFocusOut()
     connection()->setFocusWindow(nullptr);
     relayFocusToModalWindow();
     // Do not set the active window to nullptr if there is a FocusIn coming.
-    connection()->focusInTimer().start(400);
+    connection()->focusInTimer().start();
 }
 
 struct QtMotifWmHints {
